package org.hxyjs.entity;

import java.util.ArrayList;
import java.util.List;

public class OthersExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public OthersExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOnoIsNull() {
            addCriterion("ono is null");
            return (Criteria) this;
        }

        public Criteria andOnoIsNotNull() {
            addCriterion("ono is not null");
            return (Criteria) this;
        }

        public Criteria andOnoEqualTo(String value) {
            addCriterion("ono =", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoNotEqualTo(String value) {
            addCriterion("ono <>", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoGreaterThan(String value) {
            addCriterion("ono >", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoGreaterThanOrEqualTo(String value) {
            addCriterion("ono >=", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoLessThan(String value) {
            addCriterion("ono <", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoLessThanOrEqualTo(String value) {
            addCriterion("ono <=", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoLike(String value) {
            addCriterion("ono like", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoNotLike(String value) {
            addCriterion("ono not like", value, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoIn(List<String> values) {
            addCriterion("ono in", values, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoNotIn(List<String> values) {
            addCriterion("ono not in", values, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoBetween(String value1, String value2) {
            addCriterion("ono between", value1, value2, "ono");
            return (Criteria) this;
        }

        public Criteria andOnoNotBetween(String value1, String value2) {
            addCriterion("ono not between", value1, value2, "ono");
            return (Criteria) this;
        }

        public Criteria andAnoIsNull() {
            addCriterion("ano is null");
            return (Criteria) this;
        }

        public Criteria andAnoIsNotNull() {
            addCriterion("ano is not null");
            return (Criteria) this;
        }

        public Criteria andAnoEqualTo(String value) {
            addCriterion("ano =", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotEqualTo(String value) {
            addCriterion("ano <>", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoGreaterThan(String value) {
            addCriterion("ano >", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoGreaterThanOrEqualTo(String value) {
            addCriterion("ano >=", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoLessThan(String value) {
            addCriterion("ano <", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoLessThanOrEqualTo(String value) {
            addCriterion("ano <=", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoLike(String value) {
            addCriterion("ano like", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotLike(String value) {
            addCriterion("ano not like", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoIn(List<String> values) {
            addCriterion("ano in", values, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotIn(List<String> values) {
            addCriterion("ano not in", values, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoBetween(String value1, String value2) {
            addCriterion("ano between", value1, value2, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotBetween(String value1, String value2) {
            addCriterion("ano not between", value1, value2, "ano");
            return (Criteria) this;
        }

        public Criteria andOnameIsNull() {
            addCriterion("oname is null");
            return (Criteria) this;
        }

        public Criteria andOnameIsNotNull() {
            addCriterion("oname is not null");
            return (Criteria) this;
        }

        public Criteria andOnameEqualTo(String value) {
            addCriterion("oname =", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameNotEqualTo(String value) {
            addCriterion("oname <>", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameGreaterThan(String value) {
            addCriterion("oname >", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameGreaterThanOrEqualTo(String value) {
            addCriterion("oname >=", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameLessThan(String value) {
            addCriterion("oname <", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameLessThanOrEqualTo(String value) {
            addCriterion("oname <=", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameLike(String value) {
            addCriterion("oname like", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameNotLike(String value) {
            addCriterion("oname not like", value, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameIn(List<String> values) {
            addCriterion("oname in", values, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameNotIn(List<String> values) {
            addCriterion("oname not in", values, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameBetween(String value1, String value2) {
            addCriterion("oname between", value1, value2, "oname");
            return (Criteria) this;
        }

        public Criteria andOnameNotBetween(String value1, String value2) {
            addCriterion("oname not between", value1, value2, "oname");
            return (Criteria) this;
        }

        public Criteria andOimgIsNull() {
            addCriterion("oimg is null");
            return (Criteria) this;
        }

        public Criteria andOimgIsNotNull() {
            addCriterion("oimg is not null");
            return (Criteria) this;
        }

        public Criteria andOimgEqualTo(String value) {
            addCriterion("oimg =", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgNotEqualTo(String value) {
            addCriterion("oimg <>", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgGreaterThan(String value) {
            addCriterion("oimg >", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgGreaterThanOrEqualTo(String value) {
            addCriterion("oimg >=", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgLessThan(String value) {
            addCriterion("oimg <", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgLessThanOrEqualTo(String value) {
            addCriterion("oimg <=", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgLike(String value) {
            addCriterion("oimg like", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgNotLike(String value) {
            addCriterion("oimg not like", value, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgIn(List<String> values) {
            addCriterion("oimg in", values, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgNotIn(List<String> values) {
            addCriterion("oimg not in", values, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgBetween(String value1, String value2) {
            addCriterion("oimg between", value1, value2, "oimg");
            return (Criteria) this;
        }

        public Criteria andOimgNotBetween(String value1, String value2) {
            addCriterion("oimg not between", value1, value2, "oimg");
            return (Criteria) this;
        }

        public Criteria andOidIsNull() {
            addCriterion("oid is null");
            return (Criteria) this;
        }

        public Criteria andOidIsNotNull() {
            addCriterion("oid is not null");
            return (Criteria) this;
        }

        public Criteria andOidEqualTo(String value) {
            addCriterion("oid =", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidNotEqualTo(String value) {
            addCriterion("oid <>", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidGreaterThan(String value) {
            addCriterion("oid >", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidGreaterThanOrEqualTo(String value) {
            addCriterion("oid >=", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidLessThan(String value) {
            addCriterion("oid <", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidLessThanOrEqualTo(String value) {
            addCriterion("oid <=", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidLike(String value) {
            addCriterion("oid like", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidNotLike(String value) {
            addCriterion("oid not like", value, "oid");
            return (Criteria) this;
        }

        public Criteria andOidIn(List<String> values) {
            addCriterion("oid in", values, "oid");
            return (Criteria) this;
        }

        public Criteria andOidNotIn(List<String> values) {
            addCriterion("oid not in", values, "oid");
            return (Criteria) this;
        }

        public Criteria andOidBetween(String value1, String value2) {
            addCriterion("oid between", value1, value2, "oid");
            return (Criteria) this;
        }

        public Criteria andOidNotBetween(String value1, String value2) {
            addCriterion("oid not between", value1, value2, "oid");
            return (Criteria) this;
        }

        public Criteria andOpwdIsNull() {
            addCriterion("opwd is null");
            return (Criteria) this;
        }

        public Criteria andOpwdIsNotNull() {
            addCriterion("opwd is not null");
            return (Criteria) this;
        }

        public Criteria andOpwdEqualTo(String value) {
            addCriterion("opwd =", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdNotEqualTo(String value) {
            addCriterion("opwd <>", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdGreaterThan(String value) {
            addCriterion("opwd >", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdGreaterThanOrEqualTo(String value) {
            addCriterion("opwd >=", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdLessThan(String value) {
            addCriterion("opwd <", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdLessThanOrEqualTo(String value) {
            addCriterion("opwd <=", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdLike(String value) {
            addCriterion("opwd like", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdNotLike(String value) {
            addCriterion("opwd not like", value, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdIn(List<String> values) {
            addCriterion("opwd in", values, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdNotIn(List<String> values) {
            addCriterion("opwd not in", values, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdBetween(String value1, String value2) {
            addCriterion("opwd between", value1, value2, "opwd");
            return (Criteria) this;
        }

        public Criteria andOpwdNotBetween(String value1, String value2) {
            addCriterion("opwd not between", value1, value2, "opwd");
            return (Criteria) this;
        }

        public Criteria andOiddrIsNull() {
            addCriterion("oiddr is null");
            return (Criteria) this;
        }

        public Criteria andOiddrIsNotNull() {
            addCriterion("oiddr is not null");
            return (Criteria) this;
        }

        public Criteria andOiddrEqualTo(String value) {
            addCriterion("oiddr =", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrNotEqualTo(String value) {
            addCriterion("oiddr <>", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrGreaterThan(String value) {
            addCriterion("oiddr >", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrGreaterThanOrEqualTo(String value) {
            addCriterion("oiddr >=", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrLessThan(String value) {
            addCriterion("oiddr <", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrLessThanOrEqualTo(String value) {
            addCriterion("oiddr <=", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrLike(String value) {
            addCriterion("oiddr like", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrNotLike(String value) {
            addCriterion("oiddr not like", value, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrIn(List<String> values) {
            addCriterion("oiddr in", values, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrNotIn(List<String> values) {
            addCriterion("oiddr not in", values, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrBetween(String value1, String value2) {
            addCriterion("oiddr between", value1, value2, "oiddr");
            return (Criteria) this;
        }

        public Criteria andOiddrNotBetween(String value1, String value2) {
            addCriterion("oiddr not between", value1, value2, "oiddr");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}